Set-top boxes, Smart TVs, tablets or smartphones can provide an electronic programming guide (EPG) to enable a user to navigate programming schedules and other broadcast media programming with continuously updated time related EPG information for current and upcoming programs. The EPGs are presented in an interactive user interface allowing the user to navigate programs based upon channel (or source) and time to select specific programs for viewing or recording. The EPGs requires data which is typically provided by a service provider and can span a defined time period, typically but not limited to 7 to 14 days, and is provided in a compressed data format.
In order to present the EPG, the EPG data is retrieved via a network or pushed to the device, the files are then decompressed and the user interface is generated to present the EPG. Hypertext Markup Language 5 (HTML5), as developed by the World Wide Web Consortium (W3C) and JavaScript (JS), as defined in the ECMA-262 specification and ISO/IEC 16262, EPG implementations provide flexibility in user interface design; however they can be memory and processor intensive when working with large datasets such as provided in EPG data. The EPG data handling to generate the EPG results in a number of performance problems and can utilize a large amount of memory resources. There are currently a number of approaches to creating an EPG application in HTML. A first approach is to use a native visual plug-in that manages the EPG data and the rendering of the data in the user interface, which provides optimal performance but provides limited ability to customize the display of the EPG data and does not leverage the flexibility of HTML5. A second approach manages the EPG data and display entirely in HTML/JS implementation, which makes navigation of the EPG data slow and memory intensive since the EPG data needs to be cached in JS and all the logic of the EPG navigation needs to be done via JS and HTML5. For example a byte of compressed EPG data may result in a 100 fold increase in data size when loaded into JS and formatted in HTML. Creating an HTML5 EPG application is very complex since the HTML5 EPG application needs to handle all the aspects of the EPG application including, navigation, rendering, data management which can be taxing on the limited processing and memory resources in device such as set-top boxes, Smart TVs, tablets and smartphones.
Accordingly, systems and methods that enable improved EPG data management in the presentation of an EPG in an HTML5 application remains highly desirable.
It will be noted that throughout the appended drawings, like features are identified by like reference numerals.